CHROME_FOR_TESTING_VERSION := 147.0.7727.24
CHROME_FOR_TESTING_DIR := test/chrome-for-testing

# Install Chrome for Testing (required for extension tests)
install-chrome-for-testing:
	@echo "Installing Chrome for Testing v$(CHROME_FOR_TESTING_VERSION)..."
	npx @puppeteer/browsers install chrome@$(CHROME_FOR_TESTING_VERSION) --path $(CHROME_FOR_TESTING_DIR)
	@BINARY=$$(npx @puppeteer/browsers list --path $(CHROME_FOR_TESTING_DIR) 2>/dev/null | sed 's/^[^)]*) //'); \
	BINARY=$$(cd . && pwd)/$$BINARY; \
	if [ -z "$$BINARY" ]; then echo "ERROR: Chrome for Testing binary not found"; exit 1; fi; \
	echo "BINARY found at $$BINARY"; \
	echo "$$BINARY" > $(CHROME_FOR_TESTING_DIR)/test-chrome.path; \
	echo "Wrote binary path to $(CHROME_FOR_TESTING_DIR)/test-chrome.path"

# pnpm fresh install
pnpm-fresh:
	@echo "Cleaning pnpm installation..."
	@echo "Removing all node_modules directories..."
	@rm -rf node_modules
	@echo "Removing pnpm-lock.yaml..."
	@rm -rf pnpm-lock.yaml
	@echo "Running package-lock.json"
	@rm -rf package-lock.json 
	@echo "Running fresh pnpm install..."
	pnpm cache delete
	pnpm store prune
	pnpm install --reporter=append-only
	@echo "Fresh pnpm installation complete!"
